/*
 * Copyright 2002-2010 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

//Generated by the protocol buffer compiler.  DO NOT EDIT!
//source: message.proto

package com.huaweicloud.dis.iface.api.protobuf;

public final class Message {
  private Message() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface PutRecordsRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string streamName = 1;
    /**
     * <code>optional string streamName = 1;</code>
     */
    boolean hasStreamName();
    /**
     * <code>optional string streamName = 1;</code>
     */
    java.lang.String getStreamName();
    /**
     * <code>optional string streamName = 1;</code>
     */
    com.google.protobuf.ByteString
        getStreamNameBytes();

    // optional string streamId = 30;
    /**
     * <code>optional string streamId = 30;</code>
     */
    boolean hasStreamId();
    /**
     * <code>optional string streamId = 30;</code>
     */
    java.lang.String getStreamId();
    /**
     * <code>optional string streamId = 30;</code>
     */
    com.google.protobuf.ByteString
        getStreamIdBytes();

    // repeated .PutRecordsRequestEntry records = 2;
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry> 
        getRecordsList();
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry getRecords(int index);
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    int getRecordsCount();
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder> 
        getRecordsOrBuilderList();
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder getRecordsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code PutRecordsRequest}
   */
  public static final class PutRecordsRequest extends
      com.google.protobuf.GeneratedMessage
      implements PutRecordsRequestOrBuilder {
    // Use PutRecordsRequest.newBuilder() to construct.
    private PutRecordsRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutRecordsRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutRecordsRequest defaultInstance;
    public static PutRecordsRequest getDefaultInstance() {
      return defaultInstance;
    }

    public PutRecordsRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutRecordsRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              streamName_ = input.readBytes();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                records_ = new java.util.ArrayList<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry>();
                mutable_bitField0_ |= 0x00000004;
              }
              records_.add(input.readMessage(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.PARSER, extensionRegistry));
              break;
            }
            case 242: {
              bitField0_ |= 0x00000002;
              streamId_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          records_ = java.util.Collections.unmodifiableList(records_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest.Builder.class);
    }

    public static com.google.protobuf.Parser<PutRecordsRequest> PARSER =
        new com.google.protobuf.AbstractParser<PutRecordsRequest>() {
      public PutRecordsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutRecordsRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<PutRecordsRequest> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string streamName = 1;
    public static final int STREAMNAME_FIELD_NUMBER = 1;
    private java.lang.Object streamName_;
    /**
     * <code>optional string streamName = 1;</code>
     */
    public boolean hasStreamName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string streamName = 1;</code>
     */
    public java.lang.String getStreamName() {
      java.lang.Object ref = streamName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamName_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string streamName = 1;</code>
     */
    public com.google.protobuf.ByteString
        getStreamNameBytes() {
      java.lang.Object ref = streamName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string streamId = 30;
    public static final int STREAMID_FIELD_NUMBER = 30;
    private java.lang.Object streamId_;
    /**
     * <code>optional string streamId = 30;</code>
     */
    public boolean hasStreamId() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string streamId = 30;</code>
     */
    public java.lang.String getStreamId() {
      java.lang.Object ref = streamId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string streamId = 30;</code>
     */
    public com.google.protobuf.ByteString
        getStreamIdBytes() {
      java.lang.Object ref = streamId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated .PutRecordsRequestEntry records = 2;
    public static final int RECORDS_FIELD_NUMBER = 2;
    private java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry> records_;
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry> getRecordsList() {
      return records_;
    }
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    public java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder> 
        getRecordsOrBuilderList() {
      return records_;
    }
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    public int getRecordsCount() {
      return records_.size();
    }
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry getRecords(int index) {
      return records_.get(index);
    }
    /**
     * <code>repeated .PutRecordsRequestEntry records = 2;</code>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder getRecordsOrBuilder(
        int index) {
      return records_.get(index);
    }

    private void initFields() {
      streamName_ = "";
      streamId_ = "";
      records_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      for (int i = 0; i < getRecordsCount(); i++) {
        if (!getRecords(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getStreamNameBytes());
      }
      for (int i = 0; i < records_.size(); i++) {
        output.writeMessage(2, records_.get(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(30, getStreamIdBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getStreamNameBytes());
      }
      for (int i = 0; i < records_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, records_.get(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(30, getStreamIdBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutRecordsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        streamName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        streamId_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequest_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest result = new com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.streamName_ = streamName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.streamId_ = streamId_;
        if (recordsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            records_ = java.util.Collections.unmodifiableList(records_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.records_ = records_;
        } else {
          result.records_ = recordsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest.getDefaultInstance()) return this;
        if (other.hasStreamName()) {
          bitField0_ |= 0x00000001;
          streamName_ = other.streamName_;
          onChanged();
        }
        if (other.hasStreamId()) {
          bitField0_ |= 0x00000002;
          streamId_ = other.streamId_;
          onChanged();
        }
        if (recordsBuilder_ == null) {
          if (!other.records_.isEmpty()) {
            if (records_.isEmpty()) {
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureRecordsIsMutable();
              records_.addAll(other.records_);
            }
            onChanged();
          }
        } else {
          if (!other.records_.isEmpty()) {
            if (recordsBuilder_.isEmpty()) {
              recordsBuilder_.dispose();
              recordsBuilder_ = null;
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000004);
              recordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRecordsFieldBuilder() : null;
            } else {
              recordsBuilder_.addAllMessages(other.records_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getRecordsCount(); i++) {
          if (!getRecords(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string streamName = 1;
      private java.lang.Object streamName_ = "";
      /**
       * <code>optional string streamName = 1;</code>
       */
      public boolean hasStreamName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string streamName = 1;</code>
       */
      public java.lang.String getStreamName() {
        java.lang.Object ref = streamName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          streamName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string streamName = 1;</code>
       */
      public com.google.protobuf.ByteString
          getStreamNameBytes() {
        java.lang.Object ref = streamName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          streamName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string streamName = 1;</code>
       */
      public Builder setStreamName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        streamName_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string streamName = 1;</code>
       */
      public Builder clearStreamName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        streamName_ = getDefaultInstance().getStreamName();
        onChanged();
        return this;
      }
      /**
       * <code>optional string streamName = 1;</code>
       */
      public Builder setStreamNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        streamName_ = value;
        onChanged();
        return this;
      }

      // optional string streamId = 30;
      private java.lang.Object streamId_ = "";
      /**
       * <code>optional string streamId = 30;</code>
       */
      public boolean hasStreamId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string streamId = 30;</code>
       */
      public java.lang.String getStreamId() {
        java.lang.Object ref = streamId_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          streamId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string streamId = 30;</code>
       */
      public com.google.protobuf.ByteString
          getStreamIdBytes() {
        java.lang.Object ref = streamId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          streamId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string streamId = 30;</code>
       */
      public Builder setStreamId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        streamId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string streamId = 30;</code>
       */
      public Builder clearStreamId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        streamId_ = getDefaultInstance().getStreamId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string streamId = 30;</code>
       */
      public Builder setStreamIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        streamId_ = value;
        onChanged();
        return this;
      }

      // repeated .PutRecordsRequestEntry records = 2;
      private java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry> records_ =
        java.util.Collections.emptyList();
      private void ensureRecordsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          records_ = new java.util.ArrayList<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry>(records_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder> recordsBuilder_;

      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry> getRecordsList() {
        if (recordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(records_);
        } else {
          return recordsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public int getRecordsCount() {
        if (recordsBuilder_ == null) {
          return records_.size();
        } else {
          return recordsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry getRecords(int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);
        } else {
          return recordsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder setRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.set(index, value);
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder setRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.set(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder addRecords(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder addRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(index, value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder addRecords(
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder addRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder addAllRecords(
          java.lang.Iterable<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry> values) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          super.addAll(values, records_);
          onChanged();
        } else {
          recordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder clearRecords() {
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public Builder removeRecords(int index) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.remove(index);
          onChanged();
        } else {
          recordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder getRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder getRecordsOrBuilder(
          int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);  } else {
          return recordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder> 
           getRecordsOrBuilderList() {
        if (recordsBuilder_ != null) {
          return recordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(records_);
        }
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder addRecordsBuilder() {
        return getRecordsFieldBuilder().addBuilder(
            com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder addRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().addBuilder(
            index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .PutRecordsRequestEntry records = 2;</code>
       */
      public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder> 
           getRecordsBuilderList() {
        return getRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder> 
          getRecordsFieldBuilder() {
        if (recordsBuilder_ == null) {
          recordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder>(
                  records_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          records_ = null;
        }
        return recordsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:PutRecordsRequest)
    }

    static {
      defaultInstance = new PutRecordsRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutRecordsRequest)
  }

  public interface PutRecordsRequestEntryOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bytes data = 3;
    /**
     * <code>optional bytes data = 3;</code>
     */
    boolean hasData();
    /**
     * <code>optional bytes data = 3;</code>
     */
    com.google.protobuf.ByteString getData();

    // optional string explicitHashKey = 4;
    /**
     * <code>optional string explicitHashKey = 4;</code>
     */
    boolean hasExplicitHashKey();
    /**
     * <code>optional string explicitHashKey = 4;</code>
     */
    java.lang.String getExplicitHashKey();
    /**
     * <code>optional string explicitHashKey = 4;</code>
     */
    com.google.protobuf.ByteString
        getExplicitHashKeyBytes();

    // optional string partitionKey = 5;
    /**
     * <code>optional string partitionKey = 5;</code>
     */
    boolean hasPartitionKey();
    /**
     * <code>optional string partitionKey = 5;</code>
     */
    java.lang.String getPartitionKey();
    /**
     * <code>optional string partitionKey = 5;</code>
     */
    com.google.protobuf.ByteString
        getPartitionKeyBytes();

    // optional string partitionId = 6;
    /**
     * <code>optional string partitionId = 6;</code>
     */
    boolean hasPartitionId();
    /**
     * <code>optional string partitionId = 6;</code>
     */
    java.lang.String getPartitionId();
    /**
     * <code>optional string partitionId = 6;</code>
     */
    com.google.protobuf.ByteString
        getPartitionIdBytes();

    // optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;
    /**
     * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
     */
    boolean hasExtendedInfo();
    /**
     * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo getExtendedInfo();
    /**
     * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfoOrBuilder getExtendedInfoOrBuilder();

    // optional int64 timestamp = 29;
    /**
     * <code>optional int64 timestamp = 29;</code>
     */
    boolean hasTimestamp();
    /**
     * <code>optional int64 timestamp = 29;</code>
     */
    long getTimestamp();
  }
  /**
   * Protobuf type {@code PutRecordsRequestEntry}
   */
  public static final class PutRecordsRequestEntry extends
      com.google.protobuf.GeneratedMessage
      implements PutRecordsRequestEntryOrBuilder {
    // Use PutRecordsRequestEntry.newBuilder() to construct.
    private PutRecordsRequestEntry(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutRecordsRequestEntry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutRecordsRequestEntry defaultInstance;
    public static PutRecordsRequestEntry getDefaultInstance() {
      return defaultInstance;
    }

    public PutRecordsRequestEntry getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutRecordsRequestEntry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 26: {
              bitField0_ |= 0x00000001;
              data_ = input.readBytes();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000002;
              explicitHashKey_ = input.readBytes();
              break;
            }
            case 42: {
              bitField0_ |= 0x00000004;
              partitionKey_ = input.readBytes();
              break;
            }
            case 50: {
              bitField0_ |= 0x00000008;
              partitionId_ = input.readBytes();
              break;
            }
            case 58: {
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = extendedInfo_.toBuilder();
              }
              extendedInfo_ = input.readMessage(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(extendedInfo_);
                extendedInfo_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            case 232: {
              bitField0_ |= 0x00000020;
              timestamp_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder.class);
    }

    public static com.google.protobuf.Parser<PutRecordsRequestEntry> PARSER =
        new com.google.protobuf.AbstractParser<PutRecordsRequestEntry>() {
      public PutRecordsRequestEntry parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutRecordsRequestEntry(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<PutRecordsRequestEntry> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional bytes data = 3;
    public static final int DATA_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString data_;
    /**
     * <code>optional bytes data = 3;</code>
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional bytes data = 3;</code>
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    // optional string explicitHashKey = 4;
    public static final int EXPLICITHASHKEY_FIELD_NUMBER = 4;
    private java.lang.Object explicitHashKey_;
    /**
     * <code>optional string explicitHashKey = 4;</code>
     */
    public boolean hasExplicitHashKey() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string explicitHashKey = 4;</code>
     */
    public java.lang.String getExplicitHashKey() {
      java.lang.Object ref = explicitHashKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          explicitHashKey_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string explicitHashKey = 4;</code>
     */
    public com.google.protobuf.ByteString
        getExplicitHashKeyBytes() {
      java.lang.Object ref = explicitHashKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        explicitHashKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string partitionKey = 5;
    public static final int PARTITIONKEY_FIELD_NUMBER = 5;
    private java.lang.Object partitionKey_;
    /**
     * <code>optional string partitionKey = 5;</code>
     */
    public boolean hasPartitionKey() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional string partitionKey = 5;</code>
     */
    public java.lang.String getPartitionKey() {
      java.lang.Object ref = partitionKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          partitionKey_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string partitionKey = 5;</code>
     */
    public com.google.protobuf.ByteString
        getPartitionKeyBytes() {
      java.lang.Object ref = partitionKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partitionKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string partitionId = 6;
    public static final int PARTITIONID_FIELD_NUMBER = 6;
    private java.lang.Object partitionId_;
    /**
     * <code>optional string partitionId = 6;</code>
     */
    public boolean hasPartitionId() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional string partitionId = 6;</code>
     */
    public java.lang.String getPartitionId() {
      java.lang.Object ref = partitionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          partitionId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string partitionId = 6;</code>
     */
    public com.google.protobuf.ByteString
        getPartitionIdBytes() {
      java.lang.Object ref = partitionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partitionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;
    public static final int EXTENDEDINFO_FIELD_NUMBER = 7;
    private com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo extendedInfo_;
    /**
     * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
     */
    public boolean hasExtendedInfo() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo getExtendedInfo() {
      return extendedInfo_;
    }
    /**
     * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfoOrBuilder getExtendedInfoOrBuilder() {
      return extendedInfo_;
    }

    // optional int64 timestamp = 29;
    public static final int TIMESTAMP_FIELD_NUMBER = 29;
    private long timestamp_;
    /**
     * <code>optional int64 timestamp = 29;</code>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional int64 timestamp = 29;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    private void initFields() {
      data_ = com.google.protobuf.ByteString.EMPTY;
      explicitHashKey_ = "";
      partitionKey_ = "";
      partitionId_ = "";
      extendedInfo_ = com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.getDefaultInstance();
      timestamp_ = 0L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (hasExtendedInfo()) {
        if (!getExtendedInfo().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(3, data_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(4, getExplicitHashKeyBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(5, getPartitionKeyBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(6, getPartitionIdBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(7, extendedInfo_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt64(29, timestamp_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, data_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getExplicitHashKeyBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, getPartitionKeyBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, getPartitionIdBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, extendedInfo_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(29, timestamp_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutRecordsRequestEntry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getExtendedInfoFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        explicitHashKey_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        partitionKey_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        partitionId_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        if (extendedInfoBuilder_ == null) {
          extendedInfo_ = com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.getDefaultInstance();
        } else {
          extendedInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntry_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry result = new com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.data_ = data_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.explicitHashKey_ = explicitHashKey_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.partitionKey_ = partitionKey_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.partitionId_ = partitionId_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (extendedInfoBuilder_ == null) {
          result.extendedInfo_ = extendedInfo_;
        } else {
          result.extendedInfo_ = extendedInfoBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.timestamp_ = timestamp_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry.getDefaultInstance()) return this;
        if (other.hasData()) {
          setData(other.getData());
        }
        if (other.hasExplicitHashKey()) {
          bitField0_ |= 0x00000002;
          explicitHashKey_ = other.explicitHashKey_;
          onChanged();
        }
        if (other.hasPartitionKey()) {
          bitField0_ |= 0x00000004;
          partitionKey_ = other.partitionKey_;
          onChanged();
        }
        if (other.hasPartitionId()) {
          bitField0_ |= 0x00000008;
          partitionId_ = other.partitionId_;
          onChanged();
        }
        if (other.hasExtendedInfo()) {
          mergeExtendedInfo(other.getExtendedInfo());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (hasExtendedInfo()) {
          if (!getExtendedInfo().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntry) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bytes data = 3;
      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes data = 3;</code>
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional bytes data = 3;</code>
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <code>optional bytes data = 3;</code>
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes data = 3;</code>
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // optional string explicitHashKey = 4;
      private java.lang.Object explicitHashKey_ = "";
      /**
       * <code>optional string explicitHashKey = 4;</code>
       */
      public boolean hasExplicitHashKey() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string explicitHashKey = 4;</code>
       */
      public java.lang.String getExplicitHashKey() {
        java.lang.Object ref = explicitHashKey_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          explicitHashKey_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string explicitHashKey = 4;</code>
       */
      public com.google.protobuf.ByteString
          getExplicitHashKeyBytes() {
        java.lang.Object ref = explicitHashKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          explicitHashKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string explicitHashKey = 4;</code>
       */
      public Builder setExplicitHashKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        explicitHashKey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string explicitHashKey = 4;</code>
       */
      public Builder clearExplicitHashKey() {
        bitField0_ = (bitField0_ & ~0x00000002);
        explicitHashKey_ = getDefaultInstance().getExplicitHashKey();
        onChanged();
        return this;
      }
      /**
       * <code>optional string explicitHashKey = 4;</code>
       */
      public Builder setExplicitHashKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        explicitHashKey_ = value;
        onChanged();
        return this;
      }

      // optional string partitionKey = 5;
      private java.lang.Object partitionKey_ = "";
      /**
       * <code>optional string partitionKey = 5;</code>
       */
      public boolean hasPartitionKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional string partitionKey = 5;</code>
       */
      public java.lang.String getPartitionKey() {
        java.lang.Object ref = partitionKey_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          partitionKey_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string partitionKey = 5;</code>
       */
      public com.google.protobuf.ByteString
          getPartitionKeyBytes() {
        java.lang.Object ref = partitionKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partitionKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string partitionKey = 5;</code>
       */
      public Builder setPartitionKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        partitionKey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string partitionKey = 5;</code>
       */
      public Builder clearPartitionKey() {
        bitField0_ = (bitField0_ & ~0x00000004);
        partitionKey_ = getDefaultInstance().getPartitionKey();
        onChanged();
        return this;
      }
      /**
       * <code>optional string partitionKey = 5;</code>
       */
      public Builder setPartitionKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        partitionKey_ = value;
        onChanged();
        return this;
      }

      // optional string partitionId = 6;
      private java.lang.Object partitionId_ = "";
      /**
       * <code>optional string partitionId = 6;</code>
       */
      public boolean hasPartitionId() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional string partitionId = 6;</code>
       */
      public java.lang.String getPartitionId() {
        java.lang.Object ref = partitionId_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          partitionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string partitionId = 6;</code>
       */
      public com.google.protobuf.ByteString
          getPartitionIdBytes() {
        java.lang.Object ref = partitionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partitionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string partitionId = 6;</code>
       */
      public Builder setPartitionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        partitionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string partitionId = 6;</code>
       */
      public Builder clearPartitionId() {
        bitField0_ = (bitField0_ & ~0x00000008);
        partitionId_ = getDefaultInstance().getPartitionId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string partitionId = 6;</code>
       */
      public Builder setPartitionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        partitionId_ = value;
        onChanged();
        return this;
      }

      // optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;
      private com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo extendedInfo_ = com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfoOrBuilder> extendedInfoBuilder_;
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public boolean hasExtendedInfo() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo getExtendedInfo() {
        if (extendedInfoBuilder_ == null) {
          return extendedInfo_;
        } else {
          return extendedInfoBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public Builder setExtendedInfo(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo value) {
        if (extendedInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          extendedInfo_ = value;
          onChanged();
        } else {
          extendedInfoBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public Builder setExtendedInfo(
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder builderForValue) {
        if (extendedInfoBuilder_ == null) {
          extendedInfo_ = builderForValue.build();
          onChanged();
        } else {
          extendedInfoBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public Builder mergeExtendedInfo(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo value) {
        if (extendedInfoBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              extendedInfo_ != com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.getDefaultInstance()) {
            extendedInfo_ =
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.newBuilder(extendedInfo_).mergeFrom(value).buildPartial();
          } else {
            extendedInfo_ = value;
          }
          onChanged();
        } else {
          extendedInfoBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public Builder clearExtendedInfo() {
        if (extendedInfoBuilder_ == null) {
          extendedInfo_ = com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.getDefaultInstance();
          onChanged();
        } else {
          extendedInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder getExtendedInfoBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getExtendedInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfoOrBuilder getExtendedInfoOrBuilder() {
        if (extendedInfoBuilder_ != null) {
          return extendedInfoBuilder_.getMessageOrBuilder();
        } else {
          return extendedInfo_;
        }
      }
      /**
       * <code>optional .PutRecordsRequestEntryExtendedInfo extendedInfo = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfoOrBuilder> 
          getExtendedInfoFieldBuilder() {
        if (extendedInfoBuilder_ == null) {
          extendedInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfoOrBuilder>(
                  extendedInfo_,
                  getParentForChildren(),
                  isClean());
          extendedInfo_ = null;
        }
        return extendedInfoBuilder_;
      }

      // optional int64 timestamp = 29;
      private long timestamp_ ;
      /**
       * <code>optional int64 timestamp = 29;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional int64 timestamp = 29;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>optional int64 timestamp = 29;</code>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000020;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 timestamp = 29;</code>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000020);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:PutRecordsRequestEntry)
    }

    static {
      defaultInstance = new PutRecordsRequestEntry(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutRecordsRequestEntry)
  }

  public interface PutRecordsRequestEntryExtendedInfoOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required string fileName = 8;
    /**
     * <code>required string fileName = 8;</code>
     */
    boolean hasFileName();
    /**
     * <code>required string fileName = 8;</code>
     */
    java.lang.String getFileName();
    /**
     * <code>required string fileName = 8;</code>
     */
    com.google.protobuf.ByteString
        getFileNameBytes();

    // required string deliverDataId = 9;
    /**
     * <code>required string deliverDataId = 9;</code>
     */
    boolean hasDeliverDataId();
    /**
     * <code>required string deliverDataId = 9;</code>
     */
    java.lang.String getDeliverDataId();
    /**
     * <code>required string deliverDataId = 9;</code>
     */
    com.google.protobuf.ByteString
        getDeliverDataIdBytes();

    // optional bool endFlag = 10 [default = false];
    /**
     * <code>optional bool endFlag = 10 [default = false];</code>
     */
    boolean hasEndFlag();
    /**
     * <code>optional bool endFlag = 10 [default = false];</code>
     */
    boolean getEndFlag();

    // required int64 seqNum = 11;
    /**
     * <code>required int64 seqNum = 11;</code>
     */
    boolean hasSeqNum();
    /**
     * <code>required int64 seqNum = 11;</code>
     */
    long getSeqNum();
  }
  /**
   * Protobuf type {@code PutRecordsRequestEntryExtendedInfo}
   */
  public static final class PutRecordsRequestEntryExtendedInfo extends
      com.google.protobuf.GeneratedMessage
      implements PutRecordsRequestEntryExtendedInfoOrBuilder {
    // Use PutRecordsRequestEntryExtendedInfo.newBuilder() to construct.
    private PutRecordsRequestEntryExtendedInfo(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutRecordsRequestEntryExtendedInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutRecordsRequestEntryExtendedInfo defaultInstance;
    public static PutRecordsRequestEntryExtendedInfo getDefaultInstance() {
      return defaultInstance;
    }

    public PutRecordsRequestEntryExtendedInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutRecordsRequestEntryExtendedInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 66: {
              bitField0_ |= 0x00000001;
              fileName_ = input.readBytes();
              break;
            }
            case 74: {
              bitField0_ |= 0x00000002;
              deliverDataId_ = input.readBytes();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000004;
              endFlag_ = input.readBool();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000008;
              seqNum_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntryExtendedInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntryExtendedInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder.class);
    }

    public static com.google.protobuf.Parser<PutRecordsRequestEntryExtendedInfo> PARSER =
        new com.google.protobuf.AbstractParser<PutRecordsRequestEntryExtendedInfo>() {
      public PutRecordsRequestEntryExtendedInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutRecordsRequestEntryExtendedInfo(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<PutRecordsRequestEntryExtendedInfo> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required string fileName = 8;
    public static final int FILENAME_FIELD_NUMBER = 8;
    private java.lang.Object fileName_;
    /**
     * <code>required string fileName = 8;</code>
     */
    public boolean hasFileName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required string fileName = 8;</code>
     */
    public java.lang.String getFileName() {
      java.lang.Object ref = fileName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          fileName_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string fileName = 8;</code>
     */
    public com.google.protobuf.ByteString
        getFileNameBytes() {
      java.lang.Object ref = fileName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        fileName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required string deliverDataId = 9;
    public static final int DELIVERDATAID_FIELD_NUMBER = 9;
    private java.lang.Object deliverDataId_;
    /**
     * <code>required string deliverDataId = 9;</code>
     */
    public boolean hasDeliverDataId() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required string deliverDataId = 9;</code>
     */
    public java.lang.String getDeliverDataId() {
      java.lang.Object ref = deliverDataId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          deliverDataId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string deliverDataId = 9;</code>
     */
    public com.google.protobuf.ByteString
        getDeliverDataIdBytes() {
      java.lang.Object ref = deliverDataId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deliverDataId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bool endFlag = 10 [default = false];
    public static final int ENDFLAG_FIELD_NUMBER = 10;
    private boolean endFlag_;
    /**
     * <code>optional bool endFlag = 10 [default = false];</code>
     */
    public boolean hasEndFlag() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bool endFlag = 10 [default = false];</code>
     */
    public boolean getEndFlag() {
      return endFlag_;
    }

    // required int64 seqNum = 11;
    public static final int SEQNUM_FIELD_NUMBER = 11;
    private long seqNum_;
    /**
     * <code>required int64 seqNum = 11;</code>
     */
    public boolean hasSeqNum() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>required int64 seqNum = 11;</code>
     */
    public long getSeqNum() {
      return seqNum_;
    }

    private void initFields() {
      fileName_ = "";
      deliverDataId_ = "";
      endFlag_ = false;
      seqNum_ = 0L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasFileName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDeliverDataId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSeqNum()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(8, getFileNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(9, getDeliverDataIdBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(10, endFlag_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt64(11, seqNum_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(8, getFileNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(9, getDeliverDataIdBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, endFlag_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(11, seqNum_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutRecordsRequestEntryExtendedInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntryExtendedInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntryExtendedInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        fileName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        deliverDataId_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        endFlag_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        seqNum_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsRequestEntryExtendedInfo_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo result = new com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.fileName_ = fileName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.deliverDataId_ = deliverDataId_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.endFlag_ = endFlag_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.seqNum_ = seqNum_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo.getDefaultInstance()) return this;
        if (other.hasFileName()) {
          bitField0_ |= 0x00000001;
          fileName_ = other.fileName_;
          onChanged();
        }
        if (other.hasDeliverDataId()) {
          bitField0_ |= 0x00000002;
          deliverDataId_ = other.deliverDataId_;
          onChanged();
        }
        if (other.hasEndFlag()) {
          setEndFlag(other.getEndFlag());
        }
        if (other.hasSeqNum()) {
          setSeqNum(other.getSeqNum());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasFileName()) {
          
          return false;
        }
        if (!hasDeliverDataId()) {
          
          return false;
        }
        if (!hasSeqNum()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsRequestEntryExtendedInfo) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required string fileName = 8;
      private java.lang.Object fileName_ = "";
      /**
       * <code>required string fileName = 8;</code>
       */
      public boolean hasFileName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string fileName = 8;</code>
       */
      public java.lang.String getFileName() {
        java.lang.Object ref = fileName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          fileName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string fileName = 8;</code>
       */
      public com.google.protobuf.ByteString
          getFileNameBytes() {
        java.lang.Object ref = fileName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          fileName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string fileName = 8;</code>
       */
      public Builder setFileName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        fileName_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string fileName = 8;</code>
       */
      public Builder clearFileName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        fileName_ = getDefaultInstance().getFileName();
        onChanged();
        return this;
      }
      /**
       * <code>required string fileName = 8;</code>
       */
      public Builder setFileNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        fileName_ = value;
        onChanged();
        return this;
      }

      // required string deliverDataId = 9;
      private java.lang.Object deliverDataId_ = "";
      /**
       * <code>required string deliverDataId = 9;</code>
       */
      public boolean hasDeliverDataId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string deliverDataId = 9;</code>
       */
      public java.lang.String getDeliverDataId() {
        java.lang.Object ref = deliverDataId_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          deliverDataId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string deliverDataId = 9;</code>
       */
      public com.google.protobuf.ByteString
          getDeliverDataIdBytes() {
        java.lang.Object ref = deliverDataId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          deliverDataId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string deliverDataId = 9;</code>
       */
      public Builder setDeliverDataId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        deliverDataId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string deliverDataId = 9;</code>
       */
      public Builder clearDeliverDataId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        deliverDataId_ = getDefaultInstance().getDeliverDataId();
        onChanged();
        return this;
      }
      /**
       * <code>required string deliverDataId = 9;</code>
       */
      public Builder setDeliverDataIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        deliverDataId_ = value;
        onChanged();
        return this;
      }

      // optional bool endFlag = 10 [default = false];
      private boolean endFlag_ ;
      /**
       * <code>optional bool endFlag = 10 [default = false];</code>
       */
      public boolean hasEndFlag() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bool endFlag = 10 [default = false];</code>
       */
      public boolean getEndFlag() {
        return endFlag_;
      }
      /**
       * <code>optional bool endFlag = 10 [default = false];</code>
       */
      public Builder setEndFlag(boolean value) {
        bitField0_ |= 0x00000004;
        endFlag_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool endFlag = 10 [default = false];</code>
       */
      public Builder clearEndFlag() {
        bitField0_ = (bitField0_ & ~0x00000004);
        endFlag_ = false;
        onChanged();
        return this;
      }

      // required int64 seqNum = 11;
      private long seqNum_ ;
      /**
       * <code>required int64 seqNum = 11;</code>
       */
      public boolean hasSeqNum() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>required int64 seqNum = 11;</code>
       */
      public long getSeqNum() {
        return seqNum_;
      }
      /**
       * <code>required int64 seqNum = 11;</code>
       */
      public Builder setSeqNum(long value) {
        bitField0_ |= 0x00000008;
        seqNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 seqNum = 11;</code>
       */
      public Builder clearSeqNum() {
        bitField0_ = (bitField0_ & ~0x00000008);
        seqNum_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:PutRecordsRequestEntryExtendedInfo)
    }

    static {
      defaultInstance = new PutRecordsRequestEntryExtendedInfo(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutRecordsRequestEntryExtendedInfo)
  }

  public interface PutRecordsResultOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required int32 failedRecordCount = 21;
    /**
     * <code>required int32 failedRecordCount = 21;</code>
     */
    boolean hasFailedRecordCount();
    /**
     * <code>required int32 failedRecordCount = 21;</code>
     */
    int getFailedRecordCount();

    // repeated .PutRecordsResultEntry records = 22;
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry> 
        getRecordsList();
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry getRecords(int index);
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    int getRecordsCount();
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder> 
        getRecordsOrBuilderList();
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder getRecordsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code PutRecordsResult}
   */
  public static final class PutRecordsResult extends
      com.google.protobuf.GeneratedMessage
      implements PutRecordsResultOrBuilder {
    // Use PutRecordsResult.newBuilder() to construct.
    private PutRecordsResult(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutRecordsResult(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutRecordsResult defaultInstance;
    public static PutRecordsResult getDefaultInstance() {
      return defaultInstance;
    }

    public PutRecordsResult getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutRecordsResult(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 168: {
              bitField0_ |= 0x00000001;
              failedRecordCount_ = input.readInt32();
              break;
            }
            case 178: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                records_ = new java.util.ArrayList<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry>();
                mutable_bitField0_ |= 0x00000002;
              }
              records_.add(input.readMessage(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          records_ = java.util.Collections.unmodifiableList(records_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResult_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResult_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult.Builder.class);
    }

    public static com.google.protobuf.Parser<PutRecordsResult> PARSER =
        new com.google.protobuf.AbstractParser<PutRecordsResult>() {
      public PutRecordsResult parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutRecordsResult(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<PutRecordsResult> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required int32 failedRecordCount = 21;
    public static final int FAILEDRECORDCOUNT_FIELD_NUMBER = 21;
    private int failedRecordCount_;
    /**
     * <code>required int32 failedRecordCount = 21;</code>
     */
    public boolean hasFailedRecordCount() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required int32 failedRecordCount = 21;</code>
     */
    public int getFailedRecordCount() {
      return failedRecordCount_;
    }

    // repeated .PutRecordsResultEntry records = 22;
    public static final int RECORDS_FIELD_NUMBER = 22;
    private java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry> records_;
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry> getRecordsList() {
      return records_;
    }
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    public java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder> 
        getRecordsOrBuilderList() {
      return records_;
    }
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    public int getRecordsCount() {
      return records_.size();
    }
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry getRecords(int index) {
      return records_.get(index);
    }
    /**
     * <code>repeated .PutRecordsResultEntry records = 22;</code>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder getRecordsOrBuilder(
        int index) {
      return records_.get(index);
    }

    private void initFields() {
      failedRecordCount_ = 0;
      records_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasFailedRecordCount()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(21, failedRecordCount_);
      }
      for (int i = 0; i < records_.size(); i++) {
        output.writeMessage(22, records_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(21, failedRecordCount_);
      }
      for (int i = 0; i < records_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(22, records_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutRecordsResult}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResult_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResult_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        failedRecordCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResult_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult result = new com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.failedRecordCount_ = failedRecordCount_;
        if (recordsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            records_ = java.util.Collections.unmodifiableList(records_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.records_ = records_;
        } else {
          result.records_ = recordsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult.getDefaultInstance()) return this;
        if (other.hasFailedRecordCount()) {
          setFailedRecordCount(other.getFailedRecordCount());
        }
        if (recordsBuilder_ == null) {
          if (!other.records_.isEmpty()) {
            if (records_.isEmpty()) {
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureRecordsIsMutable();
              records_.addAll(other.records_);
            }
            onChanged();
          }
        } else {
          if (!other.records_.isEmpty()) {
            if (recordsBuilder_.isEmpty()) {
              recordsBuilder_.dispose();
              recordsBuilder_ = null;
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000002);
              recordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRecordsFieldBuilder() : null;
            } else {
              recordsBuilder_.addAllMessages(other.records_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasFailedRecordCount()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResult) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required int32 failedRecordCount = 21;
      private int failedRecordCount_ ;
      /**
       * <code>required int32 failedRecordCount = 21;</code>
       */
      public boolean hasFailedRecordCount() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required int32 failedRecordCount = 21;</code>
       */
      public int getFailedRecordCount() {
        return failedRecordCount_;
      }
      /**
       * <code>required int32 failedRecordCount = 21;</code>
       */
      public Builder setFailedRecordCount(int value) {
        bitField0_ |= 0x00000001;
        failedRecordCount_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 failedRecordCount = 21;</code>
       */
      public Builder clearFailedRecordCount() {
        bitField0_ = (bitField0_ & ~0x00000001);
        failedRecordCount_ = 0;
        onChanged();
        return this;
      }

      // repeated .PutRecordsResultEntry records = 22;
      private java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry> records_ =
        java.util.Collections.emptyList();
      private void ensureRecordsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          records_ = new java.util.ArrayList<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry>(records_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder> recordsBuilder_;

      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry> getRecordsList() {
        if (recordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(records_);
        } else {
          return recordsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public int getRecordsCount() {
        if (recordsBuilder_ == null) {
          return records_.size();
        } else {
          return recordsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry getRecords(int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);
        } else {
          return recordsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder setRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.set(index, value);
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder setRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.set(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder addRecords(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder addRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(index, value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder addRecords(
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder addRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder addAllRecords(
          java.lang.Iterable<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry> values) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          super.addAll(values, records_);
          onChanged();
        } else {
          recordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder clearRecords() {
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public Builder removeRecords(int index) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.remove(index);
          onChanged();
        } else {
          recordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder getRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder getRecordsOrBuilder(
          int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);  } else {
          return recordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder> 
           getRecordsOrBuilderList() {
        if (recordsBuilder_ != null) {
          return recordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(records_);
        }
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder addRecordsBuilder() {
        return getRecordsFieldBuilder().addBuilder(
            com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder addRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().addBuilder(
            index, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .PutRecordsResultEntry records = 22;</code>
       */
      public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder> 
           getRecordsBuilderList() {
        return getRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder> 
          getRecordsFieldBuilder() {
        if (recordsBuilder_ == null) {
          recordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder>(
                  records_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          records_ = null;
        }
        return recordsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:PutRecordsResult)
    }

    static {
      defaultInstance = new PutRecordsResult(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutRecordsResult)
  }

  public interface PutRecordsResultEntryOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string shardId = 23;
    /**
     * <code>optional string shardId = 23;</code>
     */
    boolean hasShardId();
    /**
     * <code>optional string shardId = 23;</code>
     */
    java.lang.String getShardId();
    /**
     * <code>optional string shardId = 23;</code>
     */
    com.google.protobuf.ByteString
        getShardIdBytes();

    // optional string sequenceNumber = 24;
    /**
     * <code>optional string sequenceNumber = 24;</code>
     */
    boolean hasSequenceNumber();
    /**
     * <code>optional string sequenceNumber = 24;</code>
     */
    java.lang.String getSequenceNumber();
    /**
     * <code>optional string sequenceNumber = 24;</code>
     */
    com.google.protobuf.ByteString
        getSequenceNumberBytes();

    // optional string errorCode = 25;
    /**
     * <code>optional string errorCode = 25;</code>
     */
    boolean hasErrorCode();
    /**
     * <code>optional string errorCode = 25;</code>
     */
    java.lang.String getErrorCode();
    /**
     * <code>optional string errorCode = 25;</code>
     */
    com.google.protobuf.ByteString
        getErrorCodeBytes();

    // optional string errorMessage = 26;
    /**
     * <code>optional string errorMessage = 26;</code>
     */
    boolean hasErrorMessage();
    /**
     * <code>optional string errorMessage = 26;</code>
     */
    java.lang.String getErrorMessage();
    /**
     * <code>optional string errorMessage = 26;</code>
     */
    com.google.protobuf.ByteString
        getErrorMessageBytes();
  }
  /**
   * Protobuf type {@code PutRecordsResultEntry}
   */
  public static final class PutRecordsResultEntry extends
      com.google.protobuf.GeneratedMessage
      implements PutRecordsResultEntryOrBuilder {
    // Use PutRecordsResultEntry.newBuilder() to construct.
    private PutRecordsResultEntry(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PutRecordsResultEntry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PutRecordsResultEntry defaultInstance;
    public static PutRecordsResultEntry getDefaultInstance() {
      return defaultInstance;
    }

    public PutRecordsResultEntry getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PutRecordsResultEntry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 186: {
              bitField0_ |= 0x00000001;
              shardId_ = input.readBytes();
              break;
            }
            case 194: {
              bitField0_ |= 0x00000002;
              sequenceNumber_ = input.readBytes();
              break;
            }
            case 202: {
              bitField0_ |= 0x00000004;
              errorCode_ = input.readBytes();
              break;
            }
            case 210: {
              bitField0_ |= 0x00000008;
              errorMessage_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResultEntry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResultEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder.class);
    }

    public static com.google.protobuf.Parser<PutRecordsResultEntry> PARSER =
        new com.google.protobuf.AbstractParser<PutRecordsResultEntry>() {
      public PutRecordsResultEntry parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PutRecordsResultEntry(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<PutRecordsResultEntry> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string shardId = 23;
    public static final int SHARDID_FIELD_NUMBER = 23;
    private java.lang.Object shardId_;
    /**
     * <code>optional string shardId = 23;</code>
     */
    public boolean hasShardId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string shardId = 23;</code>
     */
    public java.lang.String getShardId() {
      java.lang.Object ref = shardId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          shardId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string shardId = 23;</code>
     */
    public com.google.protobuf.ByteString
        getShardIdBytes() {
      java.lang.Object ref = shardId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shardId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string sequenceNumber = 24;
    public static final int SEQUENCENUMBER_FIELD_NUMBER = 24;
    private java.lang.Object sequenceNumber_;
    /**
     * <code>optional string sequenceNumber = 24;</code>
     */
    public boolean hasSequenceNumber() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string sequenceNumber = 24;</code>
     */
    public java.lang.String getSequenceNumber() {
      java.lang.Object ref = sequenceNumber_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          sequenceNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string sequenceNumber = 24;</code>
     */
    public com.google.protobuf.ByteString
        getSequenceNumberBytes() {
      java.lang.Object ref = sequenceNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sequenceNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string errorCode = 25;
    public static final int ERRORCODE_FIELD_NUMBER = 25;
    private java.lang.Object errorCode_;
    /**
     * <code>optional string errorCode = 25;</code>
     */
    public boolean hasErrorCode() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional string errorCode = 25;</code>
     */
    public java.lang.String getErrorCode() {
      java.lang.Object ref = errorCode_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          errorCode_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string errorCode = 25;</code>
     */
    public com.google.protobuf.ByteString
        getErrorCodeBytes() {
      java.lang.Object ref = errorCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string errorMessage = 26;
    public static final int ERRORMESSAGE_FIELD_NUMBER = 26;
    private java.lang.Object errorMessage_;
    /**
     * <code>optional string errorMessage = 26;</code>
     */
    public boolean hasErrorMessage() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional string errorMessage = 26;</code>
     */
    public java.lang.String getErrorMessage() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          errorMessage_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string errorMessage = 26;</code>
     */
    public com.google.protobuf.ByteString
        getErrorMessageBytes() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorMessage_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      shardId_ = "";
      sequenceNumber_ = "";
      errorCode_ = "";
      errorMessage_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(23, getShardIdBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(24, getSequenceNumberBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(25, getErrorCodeBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(26, getErrorMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(23, getShardIdBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(24, getSequenceNumberBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(25, getErrorCodeBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(26, getErrorMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code PutRecordsResultEntry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResultEntry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResultEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.class, com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        shardId_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        errorCode_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        errorMessage_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_PutRecordsResultEntry_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry result = new com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.shardId_ = shardId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.sequenceNumber_ = sequenceNumber_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.errorCode_ = errorCode_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.errorMessage_ = errorMessage_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry.getDefaultInstance()) return this;
        if (other.hasShardId()) {
          bitField0_ |= 0x00000001;
          shardId_ = other.shardId_;
          onChanged();
        }
        if (other.hasSequenceNumber()) {
          bitField0_ |= 0x00000002;
          sequenceNumber_ = other.sequenceNumber_;
          onChanged();
        }
        if (other.hasErrorCode()) {
          bitField0_ |= 0x00000004;
          errorCode_ = other.errorCode_;
          onChanged();
        }
        if (other.hasErrorMessage()) {
          bitField0_ |= 0x00000008;
          errorMessage_ = other.errorMessage_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.PutRecordsResultEntry) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string shardId = 23;
      private java.lang.Object shardId_ = "";
      /**
       * <code>optional string shardId = 23;</code>
       */
      public boolean hasShardId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string shardId = 23;</code>
       */
      public java.lang.String getShardId() {
        java.lang.Object ref = shardId_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          shardId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string shardId = 23;</code>
       */
      public com.google.protobuf.ByteString
          getShardIdBytes() {
        java.lang.Object ref = shardId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shardId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string shardId = 23;</code>
       */
      public Builder setShardId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        shardId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string shardId = 23;</code>
       */
      public Builder clearShardId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        shardId_ = getDefaultInstance().getShardId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string shardId = 23;</code>
       */
      public Builder setShardIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        shardId_ = value;
        onChanged();
        return this;
      }

      // optional string sequenceNumber = 24;
      private java.lang.Object sequenceNumber_ = "";
      /**
       * <code>optional string sequenceNumber = 24;</code>
       */
      public boolean hasSequenceNumber() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string sequenceNumber = 24;</code>
       */
      public java.lang.String getSequenceNumber() {
        java.lang.Object ref = sequenceNumber_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          sequenceNumber_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string sequenceNumber = 24;</code>
       */
      public com.google.protobuf.ByteString
          getSequenceNumberBytes() {
        java.lang.Object ref = sequenceNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sequenceNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string sequenceNumber = 24;</code>
       */
      public Builder setSequenceNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        sequenceNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string sequenceNumber = 24;</code>
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000002);
        sequenceNumber_ = getDefaultInstance().getSequenceNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional string sequenceNumber = 24;</code>
       */
      public Builder setSequenceNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        sequenceNumber_ = value;
        onChanged();
        return this;
      }

      // optional string errorCode = 25;
      private java.lang.Object errorCode_ = "";
      /**
       * <code>optional string errorCode = 25;</code>
       */
      public boolean hasErrorCode() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional string errorCode = 25;</code>
       */
      public java.lang.String getErrorCode() {
        java.lang.Object ref = errorCode_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          errorCode_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string errorCode = 25;</code>
       */
      public com.google.protobuf.ByteString
          getErrorCodeBytes() {
        java.lang.Object ref = errorCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string errorCode = 25;</code>
       */
      public Builder setErrorCode(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        errorCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string errorCode = 25;</code>
       */
      public Builder clearErrorCode() {
        bitField0_ = (bitField0_ & ~0x00000004);
        errorCode_ = getDefaultInstance().getErrorCode();
        onChanged();
        return this;
      }
      /**
       * <code>optional string errorCode = 25;</code>
       */
      public Builder setErrorCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        errorCode_ = value;
        onChanged();
        return this;
      }

      // optional string errorMessage = 26;
      private java.lang.Object errorMessage_ = "";
      /**
       * <code>optional string errorMessage = 26;</code>
       */
      public boolean hasErrorMessage() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional string errorMessage = 26;</code>
       */
      public java.lang.String getErrorMessage() {
        java.lang.Object ref = errorMessage_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          errorMessage_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string errorMessage = 26;</code>
       */
      public com.google.protobuf.ByteString
          getErrorMessageBytes() {
        java.lang.Object ref = errorMessage_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorMessage_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string errorMessage = 26;</code>
       */
      public Builder setErrorMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        errorMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string errorMessage = 26;</code>
       */
      public Builder clearErrorMessage() {
        bitField0_ = (bitField0_ & ~0x00000008);
        errorMessage_ = getDefaultInstance().getErrorMessage();
        onChanged();
        return this;
      }
      /**
       * <code>optional string errorMessage = 26;</code>
       */
      public Builder setErrorMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        errorMessage_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:PutRecordsResultEntry)
    }

    static {
      defaultInstance = new PutRecordsResultEntry(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:PutRecordsResultEntry)
  }

  public interface GetRecordsRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required string shardIterator = 12;
    /**
     * <code>required string shardIterator = 12;</code>
     */
    boolean hasShardIterator();
    /**
     * <code>required string shardIterator = 12;</code>
     */
    java.lang.String getShardIterator();
    /**
     * <code>required string shardIterator = 12;</code>
     */
    com.google.protobuf.ByteString
        getShardIteratorBytes();

    // optional int32 limit = 13;
    /**
     * <code>optional int32 limit = 13;</code>
     */
    boolean hasLimit();
    /**
     * <code>optional int32 limit = 13;</code>
     */
    int getLimit();
  }
  /**
   * Protobuf type {@code GetRecordsRequest}
   */
  public static final class GetRecordsRequest extends
      com.google.protobuf.GeneratedMessage
      implements GetRecordsRequestOrBuilder {
    // Use GetRecordsRequest.newBuilder() to construct.
    private GetRecordsRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private GetRecordsRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final GetRecordsRequest defaultInstance;
    public static GetRecordsRequest getDefaultInstance() {
      return defaultInstance;
    }

    public GetRecordsRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private GetRecordsRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 98: {
              bitField0_ |= 0x00000001;
              shardIterator_ = input.readBytes();
              break;
            }
            case 104: {
              bitField0_ |= 0x00000002;
              limit_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest.class, com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest.Builder.class);
    }

    public static com.google.protobuf.Parser<GetRecordsRequest> PARSER =
        new com.google.protobuf.AbstractParser<GetRecordsRequest>() {
      public GetRecordsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GetRecordsRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<GetRecordsRequest> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required string shardIterator = 12;
    public static final int SHARDITERATOR_FIELD_NUMBER = 12;
    private java.lang.Object shardIterator_;
    /**
     * <code>required string shardIterator = 12;</code>
     */
    public boolean hasShardIterator() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required string shardIterator = 12;</code>
     */
    public java.lang.String getShardIterator() {
      java.lang.Object ref = shardIterator_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          shardIterator_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string shardIterator = 12;</code>
     */
    public com.google.protobuf.ByteString
        getShardIteratorBytes() {
      java.lang.Object ref = shardIterator_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        shardIterator_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional int32 limit = 13;
    public static final int LIMIT_FIELD_NUMBER = 13;
    private int limit_;
    /**
     * <code>optional int32 limit = 13;</code>
     */
    public boolean hasLimit() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional int32 limit = 13;</code>
     */
    public int getLimit() {
      return limit_;
    }

    private void initFields() {
      shardIterator_ = "";
      limit_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasShardIterator()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(12, getShardIteratorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(13, limit_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(12, getShardIteratorBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(13, limit_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code GetRecordsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest.class, com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        shardIterator_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        limit_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsRequest_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest result = new com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.shardIterator_ = shardIterator_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.limit_ = limit_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest.getDefaultInstance()) return this;
        if (other.hasShardIterator()) {
          bitField0_ |= 0x00000001;
          shardIterator_ = other.shardIterator_;
          onChanged();
        }
        if (other.hasLimit()) {
          setLimit(other.getLimit());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasShardIterator()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required string shardIterator = 12;
      private java.lang.Object shardIterator_ = "";
      /**
       * <code>required string shardIterator = 12;</code>
       */
      public boolean hasShardIterator() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string shardIterator = 12;</code>
       */
      public java.lang.String getShardIterator() {
        java.lang.Object ref = shardIterator_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          shardIterator_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string shardIterator = 12;</code>
       */
      public com.google.protobuf.ByteString
          getShardIteratorBytes() {
        java.lang.Object ref = shardIterator_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          shardIterator_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string shardIterator = 12;</code>
       */
      public Builder setShardIterator(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        shardIterator_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string shardIterator = 12;</code>
       */
      public Builder clearShardIterator() {
        bitField0_ = (bitField0_ & ~0x00000001);
        shardIterator_ = getDefaultInstance().getShardIterator();
        onChanged();
        return this;
      }
      /**
       * <code>required string shardIterator = 12;</code>
       */
      public Builder setShardIteratorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        shardIterator_ = value;
        onChanged();
        return this;
      }

      // optional int32 limit = 13;
      private int limit_ ;
      /**
       * <code>optional int32 limit = 13;</code>
       */
      public boolean hasLimit() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 limit = 13;</code>
       */
      public int getLimit() {
        return limit_;
      }
      /**
       * <code>optional int32 limit = 13;</code>
       */
      public Builder setLimit(int value) {
        bitField0_ |= 0x00000002;
        limit_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 limit = 13;</code>
       */
      public Builder clearLimit() {
        bitField0_ = (bitField0_ & ~0x00000002);
        limit_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:GetRecordsRequest)
    }

    static {
      defaultInstance = new GetRecordsRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:GetRecordsRequest)
  }

  public interface GetRecordsResultOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required string nextShardIterator = 14;
    /**
     * <code>required string nextShardIterator = 14;</code>
     */
    boolean hasNextShardIterator();
    /**
     * <code>required string nextShardIterator = 14;</code>
     */
    java.lang.String getNextShardIterator();
    /**
     * <code>required string nextShardIterator = 14;</code>
     */
    com.google.protobuf.ByteString
        getNextShardIteratorBytes();

    // repeated .Record records = 16;
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.Record> 
        getRecordsList();
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.Record getRecords(int index);
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    int getRecordsCount();
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder> 
        getRecordsOrBuilderList();
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder getRecordsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code GetRecordsResult}
   */
  public static final class GetRecordsResult extends
      com.google.protobuf.GeneratedMessage
      implements GetRecordsResultOrBuilder {
    // Use GetRecordsResult.newBuilder() to construct.
    private GetRecordsResult(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private GetRecordsResult(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final GetRecordsResult defaultInstance;
    public static GetRecordsResult getDefaultInstance() {
      return defaultInstance;
    }

    public GetRecordsResult getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private GetRecordsResult(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 114: {
              bitField0_ |= 0x00000001;
              nextShardIterator_ = input.readBytes();
              break;
            }
            case 130: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                records_ = new java.util.ArrayList<com.huaweicloud.dis.iface.api.protobuf.Message.Record>();
                mutable_bitField0_ |= 0x00000002;
              }
              records_.add(input.readMessage(com.huaweicloud.dis.iface.api.protobuf.Message.Record.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          records_ = java.util.Collections.unmodifiableList(records_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsResult_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsResult_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult.class, com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult.Builder.class);
    }

    public static com.google.protobuf.Parser<GetRecordsResult> PARSER =
        new com.google.protobuf.AbstractParser<GetRecordsResult>() {
      public GetRecordsResult parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GetRecordsResult(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<GetRecordsResult> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required string nextShardIterator = 14;
    public static final int NEXTSHARDITERATOR_FIELD_NUMBER = 14;
    private java.lang.Object nextShardIterator_;
    /**
     * <code>required string nextShardIterator = 14;</code>
     */
    public boolean hasNextShardIterator() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required string nextShardIterator = 14;</code>
     */
    public java.lang.String getNextShardIterator() {
      java.lang.Object ref = nextShardIterator_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          nextShardIterator_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string nextShardIterator = 14;</code>
     */
    public com.google.protobuf.ByteString
        getNextShardIteratorBytes() {
      java.lang.Object ref = nextShardIterator_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nextShardIterator_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated .Record records = 16;
    public static final int RECORDS_FIELD_NUMBER = 16;
    private java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.Record> records_;
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.Record> getRecordsList() {
      return records_;
    }
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    public java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder> 
        getRecordsOrBuilderList() {
      return records_;
    }
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    public int getRecordsCount() {
      return records_.size();
    }
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.Record getRecords(int index) {
      return records_.get(index);
    }
    /**
     * <code>repeated .Record records = 16;</code>
     *
     * <pre>
     *    int64 millisBehindLatest =15;
     * </pre>
     */
    public com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder getRecordsOrBuilder(
        int index) {
      return records_.get(index);
    }

    private void initFields() {
      nextShardIterator_ = "";
      records_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasNextShardIterator()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getRecordsCount(); i++) {
        if (!getRecords(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(14, getNextShardIteratorBytes());
      }
      for (int i = 0; i < records_.size(); i++) {
        output.writeMessage(16, records_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(14, getNextShardIteratorBytes());
      }
      for (int i = 0; i < records_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, records_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code GetRecordsResult}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResultOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsResult_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsResult_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult.class, com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRecordsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        nextShardIterator_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_GetRecordsResult_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult result = new com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.nextShardIterator_ = nextShardIterator_;
        if (recordsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            records_ = java.util.Collections.unmodifiableList(records_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.records_ = records_;
        } else {
          result.records_ = recordsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult.getDefaultInstance()) return this;
        if (other.hasNextShardIterator()) {
          bitField0_ |= 0x00000001;
          nextShardIterator_ = other.nextShardIterator_;
          onChanged();
        }
        if (recordsBuilder_ == null) {
          if (!other.records_.isEmpty()) {
            if (records_.isEmpty()) {
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureRecordsIsMutable();
              records_.addAll(other.records_);
            }
            onChanged();
          }
        } else {
          if (!other.records_.isEmpty()) {
            if (recordsBuilder_.isEmpty()) {
              recordsBuilder_.dispose();
              recordsBuilder_ = null;
              records_ = other.records_;
              bitField0_ = (bitField0_ & ~0x00000002);
              recordsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRecordsFieldBuilder() : null;
            } else {
              recordsBuilder_.addAllMessages(other.records_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasNextShardIterator()) {
          
          return false;
        }
        for (int i = 0; i < getRecordsCount(); i++) {
          if (!getRecords(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.GetRecordsResult) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required string nextShardIterator = 14;
      private java.lang.Object nextShardIterator_ = "";
      /**
       * <code>required string nextShardIterator = 14;</code>
       */
      public boolean hasNextShardIterator() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string nextShardIterator = 14;</code>
       */
      public java.lang.String getNextShardIterator() {
        java.lang.Object ref = nextShardIterator_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          nextShardIterator_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string nextShardIterator = 14;</code>
       */
      public com.google.protobuf.ByteString
          getNextShardIteratorBytes() {
        java.lang.Object ref = nextShardIterator_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nextShardIterator_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string nextShardIterator = 14;</code>
       */
      public Builder setNextShardIterator(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        nextShardIterator_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string nextShardIterator = 14;</code>
       */
      public Builder clearNextShardIterator() {
        bitField0_ = (bitField0_ & ~0x00000001);
        nextShardIterator_ = getDefaultInstance().getNextShardIterator();
        onChanged();
        return this;
      }
      /**
       * <code>required string nextShardIterator = 14;</code>
       */
      public Builder setNextShardIteratorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        nextShardIterator_ = value;
        onChanged();
        return this;
      }

      // repeated .Record records = 16;
      private java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.Record> records_ =
        java.util.Collections.emptyList();
      private void ensureRecordsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          records_ = new java.util.ArrayList<com.huaweicloud.dis.iface.api.protobuf.Message.Record>(records_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.Record, com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder> recordsBuilder_;

      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.Record> getRecordsList() {
        if (recordsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(records_);
        } else {
          return recordsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public int getRecordsCount() {
        if (recordsBuilder_ == null) {
          return records_.size();
        } else {
          return recordsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.Record getRecords(int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);
        } else {
          return recordsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder setRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.Record value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.set(index, value);
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder setRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.set(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder addRecords(com.huaweicloud.dis.iface.api.protobuf.Message.Record value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder addRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.Record value) {
        if (recordsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRecordsIsMutable();
          records_.add(index, value);
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder addRecords(
          com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder addRecords(
          int index, com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder builderForValue) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.add(index, builderForValue.build());
          onChanged();
        } else {
          recordsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder addAllRecords(
          java.lang.Iterable<? extends com.huaweicloud.dis.iface.api.protobuf.Message.Record> values) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          super.addAll(values, records_);
          onChanged();
        } else {
          recordsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder clearRecords() {
        if (recordsBuilder_ == null) {
          records_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          recordsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public Builder removeRecords(int index) {
        if (recordsBuilder_ == null) {
          ensureRecordsIsMutable();
          records_.remove(index);
          onChanged();
        } else {
          recordsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder getRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder getRecordsOrBuilder(
          int index) {
        if (recordsBuilder_ == null) {
          return records_.get(index);  } else {
          return recordsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public java.util.List<? extends com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder> 
           getRecordsOrBuilderList() {
        if (recordsBuilder_ != null) {
          return recordsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(records_);
        }
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder addRecordsBuilder() {
        return getRecordsFieldBuilder().addBuilder(
            com.huaweicloud.dis.iface.api.protobuf.Message.Record.getDefaultInstance());
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder addRecordsBuilder(
          int index) {
        return getRecordsFieldBuilder().addBuilder(
            index, com.huaweicloud.dis.iface.api.protobuf.Message.Record.getDefaultInstance());
      }
      /**
       * <code>repeated .Record records = 16;</code>
       *
       * <pre>
       *    int64 millisBehindLatest =15;
       * </pre>
       */
      public java.util.List<com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder> 
           getRecordsBuilderList() {
        return getRecordsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.huaweicloud.dis.iface.api.protobuf.Message.Record, com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder> 
          getRecordsFieldBuilder() {
        if (recordsBuilder_ == null) {
          recordsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.huaweicloud.dis.iface.api.protobuf.Message.Record, com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder, com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder>(
                  records_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          records_ = null;
        }
        return recordsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:GetRecordsResult)
    }

    static {
      defaultInstance = new GetRecordsResult(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:GetRecordsResult)
  }

  public interface RecordOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string partitionKey = 17;
    /**
     * <code>optional string partitionKey = 17;</code>
     */
    boolean hasPartitionKey();
    /**
     * <code>optional string partitionKey = 17;</code>
     */
    java.lang.String getPartitionKey();
    /**
     * <code>optional string partitionKey = 17;</code>
     */
    com.google.protobuf.ByteString
        getPartitionKeyBytes();

    // required string sequenceNumber = 18;
    /**
     * <code>required string sequenceNumber = 18;</code>
     */
    boolean hasSequenceNumber();
    /**
     * <code>required string sequenceNumber = 18;</code>
     */
    java.lang.String getSequenceNumber();
    /**
     * <code>required string sequenceNumber = 18;</code>
     */
    com.google.protobuf.ByteString
        getSequenceNumberBytes();

    // optional bytes data = 19;
    /**
     * <code>optional bytes data = 19;</code>
     */
    boolean hasData();
    /**
     * <code>optional bytes data = 19;</code>
     */
    com.google.protobuf.ByteString getData();

    // optional int64 timestamp = 27;
    /**
     * <code>optional int64 timestamp = 27;</code>
     *
     * <pre>
     *	approximateArrivalTimestamp = 20;
     * </pre>
     */
    boolean hasTimestamp();
    /**
     * <code>optional int64 timestamp = 27;</code>
     *
     * <pre>
     *	approximateArrivalTimestamp = 20;
     * </pre>
     */
    long getTimestamp();

    // optional string timestampType = 28;
    /**
     * <code>optional string timestampType = 28;</code>
     */
    boolean hasTimestampType();
    /**
     * <code>optional string timestampType = 28;</code>
     */
    java.lang.String getTimestampType();
    /**
     * <code>optional string timestampType = 28;</code>
     */
    com.google.protobuf.ByteString
        getTimestampTypeBytes();
  }
  /**
   * Protobuf type {@code Record}
   */
  public static final class Record extends
      com.google.protobuf.GeneratedMessage
      implements RecordOrBuilder {
    // Use Record.newBuilder() to construct.
    private Record(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Record(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Record defaultInstance;
    public static Record getDefaultInstance() {
      return defaultInstance;
    }

    public Record getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Record(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 138: {
              bitField0_ |= 0x00000001;
              partitionKey_ = input.readBytes();
              break;
            }
            case 146: {
              bitField0_ |= 0x00000002;
              sequenceNumber_ = input.readBytes();
              break;
            }
            case 154: {
              bitField0_ |= 0x00000004;
              data_ = input.readBytes();
              break;
            }
            case 216: {
              bitField0_ |= 0x00000008;
              timestamp_ = input.readInt64();
              break;
            }
            case 226: {
              bitField0_ |= 0x00000010;
              timestampType_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_Record_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_Record_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.huaweicloud.dis.iface.api.protobuf.Message.Record.class, com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder.class);
    }

    public static com.google.protobuf.Parser<Record> PARSER =
        new com.google.protobuf.AbstractParser<Record>() {
      public Record parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Record(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<Record> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string partitionKey = 17;
    public static final int PARTITIONKEY_FIELD_NUMBER = 17;
    private java.lang.Object partitionKey_;
    /**
     * <code>optional string partitionKey = 17;</code>
     */
    public boolean hasPartitionKey() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string partitionKey = 17;</code>
     */
    public java.lang.String getPartitionKey() {
      java.lang.Object ref = partitionKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          partitionKey_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string partitionKey = 17;</code>
     */
    public com.google.protobuf.ByteString
        getPartitionKeyBytes() {
      java.lang.Object ref = partitionKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partitionKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required string sequenceNumber = 18;
    public static final int SEQUENCENUMBER_FIELD_NUMBER = 18;
    private java.lang.Object sequenceNumber_;
    /**
     * <code>required string sequenceNumber = 18;</code>
     */
    public boolean hasSequenceNumber() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required string sequenceNumber = 18;</code>
     */
    public java.lang.String getSequenceNumber() {
      java.lang.Object ref = sequenceNumber_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          sequenceNumber_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string sequenceNumber = 18;</code>
     */
    public com.google.protobuf.ByteString
        getSequenceNumberBytes() {
      java.lang.Object ref = sequenceNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sequenceNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bytes data = 19;
    public static final int DATA_FIELD_NUMBER = 19;
    private com.google.protobuf.ByteString data_;
    /**
     * <code>optional bytes data = 19;</code>
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bytes data = 19;</code>
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    // optional int64 timestamp = 27;
    public static final int TIMESTAMP_FIELD_NUMBER = 27;
    private long timestamp_;
    /**
     * <code>optional int64 timestamp = 27;</code>
     *
     * <pre>
     *	approximateArrivalTimestamp = 20;
     * </pre>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional int64 timestamp = 27;</code>
     *
     * <pre>
     *	approximateArrivalTimestamp = 20;
     * </pre>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    // optional string timestampType = 28;
    public static final int TIMESTAMPTYPE_FIELD_NUMBER = 28;
    private java.lang.Object timestampType_;
    /**
     * <code>optional string timestampType = 28;</code>
     */
    public boolean hasTimestampType() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional string timestampType = 28;</code>
     */
    public java.lang.String getTimestampType() {
      java.lang.Object ref = timestampType_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          timestampType_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string timestampType = 28;</code>
     */
    public com.google.protobuf.ByteString
        getTimestampTypeBytes() {
      java.lang.Object ref = timestampType_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timestampType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      partitionKey_ = "";
      sequenceNumber_ = "";
      data_ = com.google.protobuf.ByteString.EMPTY;
      timestamp_ = 0L;
      timestampType_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasSequenceNumber()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(17, getPartitionKeyBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(18, getSequenceNumberBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(19, data_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt64(27, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(28, getTimestampTypeBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(17, getPartitionKeyBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(18, getSequenceNumberBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(19, data_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(27, timestamp_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(28, getTimestampTypeBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.huaweicloud.dis.iface.api.protobuf.Message.Record parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.huaweicloud.dis.iface.api.protobuf.Message.Record prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Record}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.huaweicloud.dis.iface.api.protobuf.Message.RecordOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_Record_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_Record_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.huaweicloud.dis.iface.api.protobuf.Message.Record.class, com.huaweicloud.dis.iface.api.protobuf.Message.Record.Builder.class);
      }

      // Construct using com.huaweicloud.dis.iface.api.protobuf.Message.Record.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        partitionKey_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        timestampType_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.internal_static_Record_descriptor;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.Record getDefaultInstanceForType() {
        return com.huaweicloud.dis.iface.api.protobuf.Message.Record.getDefaultInstance();
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.Record build() {
        com.huaweicloud.dis.iface.api.protobuf.Message.Record result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.huaweicloud.dis.iface.api.protobuf.Message.Record buildPartial() {
        com.huaweicloud.dis.iface.api.protobuf.Message.Record result = new com.huaweicloud.dis.iface.api.protobuf.Message.Record(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.partitionKey_ = partitionKey_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.sequenceNumber_ = sequenceNumber_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.data_ = data_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.timestamp_ = timestamp_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.timestampType_ = timestampType_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.huaweicloud.dis.iface.api.protobuf.Message.Record) {
          return mergeFrom((com.huaweicloud.dis.iface.api.protobuf.Message.Record)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.huaweicloud.dis.iface.api.protobuf.Message.Record other) {
        if (other == com.huaweicloud.dis.iface.api.protobuf.Message.Record.getDefaultInstance()) return this;
        if (other.hasPartitionKey()) {
          bitField0_ |= 0x00000001;
          partitionKey_ = other.partitionKey_;
          onChanged();
        }
        if (other.hasSequenceNumber()) {
          bitField0_ |= 0x00000002;
          sequenceNumber_ = other.sequenceNumber_;
          onChanged();
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasTimestampType()) {
          bitField0_ |= 0x00000010;
          timestampType_ = other.timestampType_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasSequenceNumber()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.huaweicloud.dis.iface.api.protobuf.Message.Record parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.huaweicloud.dis.iface.api.protobuf.Message.Record) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string partitionKey = 17;
      private java.lang.Object partitionKey_ = "";
      /**
       * <code>optional string partitionKey = 17;</code>
       */
      public boolean hasPartitionKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string partitionKey = 17;</code>
       */
      public java.lang.String getPartitionKey() {
        java.lang.Object ref = partitionKey_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          partitionKey_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string partitionKey = 17;</code>
       */
      public com.google.protobuf.ByteString
          getPartitionKeyBytes() {
        java.lang.Object ref = partitionKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partitionKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string partitionKey = 17;</code>
       */
      public Builder setPartitionKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        partitionKey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string partitionKey = 17;</code>
       */
      public Builder clearPartitionKey() {
        bitField0_ = (bitField0_ & ~0x00000001);
        partitionKey_ = getDefaultInstance().getPartitionKey();
        onChanged();
        return this;
      }
      /**
       * <code>optional string partitionKey = 17;</code>
       */
      public Builder setPartitionKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        partitionKey_ = value;
        onChanged();
        return this;
      }

      // required string sequenceNumber = 18;
      private java.lang.Object sequenceNumber_ = "";
      /**
       * <code>required string sequenceNumber = 18;</code>
       */
      public boolean hasSequenceNumber() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string sequenceNumber = 18;</code>
       */
      public java.lang.String getSequenceNumber() {
        java.lang.Object ref = sequenceNumber_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          sequenceNumber_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string sequenceNumber = 18;</code>
       */
      public com.google.protobuf.ByteString
          getSequenceNumberBytes() {
        java.lang.Object ref = sequenceNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sequenceNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string sequenceNumber = 18;</code>
       */
      public Builder setSequenceNumber(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        sequenceNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string sequenceNumber = 18;</code>
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000002);
        sequenceNumber_ = getDefaultInstance().getSequenceNumber();
        onChanged();
        return this;
      }
      /**
       * <code>required string sequenceNumber = 18;</code>
       */
      public Builder setSequenceNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        sequenceNumber_ = value;
        onChanged();
        return this;
      }

      // optional bytes data = 19;
      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes data = 19;</code>
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bytes data = 19;</code>
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <code>optional bytes data = 19;</code>
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes data = 19;</code>
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000004);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // optional int64 timestamp = 27;
      private long timestamp_ ;
      /**
       * <code>optional int64 timestamp = 27;</code>
       *
       * <pre>
       *	approximateArrivalTimestamp = 20;
       * </pre>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional int64 timestamp = 27;</code>
       *
       * <pre>
       *	approximateArrivalTimestamp = 20;
       * </pre>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>optional int64 timestamp = 27;</code>
       *
       * <pre>
       *	approximateArrivalTimestamp = 20;
       * </pre>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000008;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 timestamp = 27;</code>
       *
       * <pre>
       *	approximateArrivalTimestamp = 20;
       * </pre>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000008);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      // optional string timestampType = 28;
      private java.lang.Object timestampType_ = "";
      /**
       * <code>optional string timestampType = 28;</code>
       */
      public boolean hasTimestampType() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional string timestampType = 28;</code>
       */
      public java.lang.String getTimestampType() {
        java.lang.Object ref = timestampType_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          timestampType_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string timestampType = 28;</code>
       */
      public com.google.protobuf.ByteString
          getTimestampTypeBytes() {
        java.lang.Object ref = timestampType_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          timestampType_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string timestampType = 28;</code>
       */
      public Builder setTimestampType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        timestampType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string timestampType = 28;</code>
       */
      public Builder clearTimestampType() {
        bitField0_ = (bitField0_ & ~0x00000010);
        timestampType_ = getDefaultInstance().getTimestampType();
        onChanged();
        return this;
      }
      /**
       * <code>optional string timestampType = 28;</code>
       */
      public Builder setTimestampTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        timestampType_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:Record)
    }

    static {
      defaultInstance = new Record(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:Record)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_PutRecordsRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutRecordsRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_PutRecordsRequestEntry_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutRecordsRequestEntry_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_PutRecordsRequestEntryExtendedInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutRecordsRequestEntryExtendedInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_PutRecordsResult_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutRecordsResult_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_PutRecordsResultEntry_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PutRecordsResultEntry_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_GetRecordsRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_GetRecordsRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_GetRecordsResult_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_GetRecordsResult_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Record_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Record_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\rmessage.proto\"c\n\021PutRecordsRequest\022\022\n\n" +
      "streamName\030\001 \001(\t\022\020\n\010streamId\030\036 \001(\t\022(\n\007re" +
      "cords\030\002 \003(\0132\027.PutRecordsRequestEntry\"\270\001\n" +
      "\026PutRecordsRequestEntry\022\014\n\004data\030\003 \001(\014\022\027\n" +
      "\017explicitHashKey\030\004 \001(\t\022\024\n\014partitionKey\030\005" +
      " \001(\t\022\023\n\013partitionId\030\006 \001(\t\0229\n\014extendedInf" +
      "o\030\007 \001(\0132#.PutRecordsRequestEntryExtended" +
      "Info\022\021\n\ttimestamp\030\035 \001(\003\"u\n\"PutRecordsReq" +
      "uestEntryExtendedInfo\022\020\n\010fileName\030\010 \002(\t\022" +
      "\025\n\rdeliverDataId\030\t \002(\t\022\026\n\007endFlag\030\n \001(\010:",
      "\005false\022\016\n\006seqNum\030\013 \002(\003\"V\n\020PutRecordsResu" +
      "lt\022\031\n\021failedRecordCount\030\025 \002(\005\022\'\n\007records" +
      "\030\026 \003(\0132\026.PutRecordsResultEntry\"i\n\025PutRec" +
      "ordsResultEntry\022\017\n\007shardId\030\027 \001(\t\022\026\n\016sequ" +
      "enceNumber\030\030 \001(\t\022\021\n\terrorCode\030\031 \001(\t\022\024\n\014e" +
      "rrorMessage\030\032 \001(\t\"9\n\021GetRecordsRequest\022\025" +
      "\n\rshardIterator\030\014 \002(\t\022\r\n\005limit\030\r \001(\005\"G\n\020" +
      "GetRecordsResult\022\031\n\021nextShardIterator\030\016 " +
      "\002(\t\022\030\n\007records\030\020 \003(\0132\007.Record\"n\n\006Record\022" +
      "\024\n\014partitionKey\030\021 \001(\t\022\026\n\016sequenceNumber\030",
      "\022 \002(\t\022\014\n\004data\030\023 \001(\014\022\021\n\ttimestamp\030\033 \001(\003\022\025" +
      "\n\rtimestampType\030\034 \001(\tB1\n&com.huaweicloud" +
      ".dis.iface.api.protobufB\007Message"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_PutRecordsRequest_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_PutRecordsRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_PutRecordsRequest_descriptor,
              new java.lang.String[] { "StreamName", "StreamId", "Records", });
          internal_static_PutRecordsRequestEntry_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_PutRecordsRequestEntry_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_PutRecordsRequestEntry_descriptor,
              new java.lang.String[] { "Data", "ExplicitHashKey", "PartitionKey", "PartitionId", "ExtendedInfo", "Timestamp", });
          internal_static_PutRecordsRequestEntryExtendedInfo_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_PutRecordsRequestEntryExtendedInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_PutRecordsRequestEntryExtendedInfo_descriptor,
              new java.lang.String[] { "FileName", "DeliverDataId", "EndFlag", "SeqNum", });
          internal_static_PutRecordsResult_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_PutRecordsResult_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_PutRecordsResult_descriptor,
              new java.lang.String[] { "FailedRecordCount", "Records", });
          internal_static_PutRecordsResultEntry_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_PutRecordsResultEntry_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_PutRecordsResultEntry_descriptor,
              new java.lang.String[] { "ShardId", "SequenceNumber", "ErrorCode", "ErrorMessage", });
          internal_static_GetRecordsRequest_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_GetRecordsRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_GetRecordsRequest_descriptor,
              new java.lang.String[] { "ShardIterator", "Limit", });
          internal_static_GetRecordsResult_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_GetRecordsResult_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_GetRecordsResult_descriptor,
              new java.lang.String[] { "NextShardIterator", "Records", });
          internal_static_Record_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_Record_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Record_descriptor,
              new java.lang.String[] { "PartitionKey", "SequenceNumber", "Data", "Timestamp", "TimestampType", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
